package com.gitee.qdbp.general.system.error;

import com.gitee.qdbp.able.result.IResultMessage;

/**
 * 错误返回码枚举类
 *
 * @author zhaohuihua
 * @version 150915
 */
public enum UserErrorCode implements IResultMessage {

    /** 用户登录失败 **/
    USERINFO_LOGIN_ERROR("用户登录失败"),
    /** 用户注册失败 **/
    USERINFO_REGISTER_ERROR("用户注册失败"),

    /** 用户待激活 **/
    USER_IS_WAIT_ACTIVITY("用户待激活"),
    /** 用户已锁定 **/
    USER_IS_LOCK("用户已锁定"),
    /** 用户不存在 **/
    USER_NOT_EXIST("用户不存在"),
    /** 用户状态错误 **/
    USER_STATE_ERROR("用户状态错误"),

    /** 账号必须是手机号码或邮箱地址 **/
    PHONE_OR_EMAIL_IS_REQUIRED("账号必须是手机号码或邮箱地址"),

    /** 登录账号或密码不正确 **/
    USER_OR_PASSWORD_ERROR("登录账号或密码不正确"),
    /** 登录密码错误 **/
    USER_LOGIN_PASSWORD_ERROR("登录密码错误"),
    // 改为BaseCtlErrorCode.USER_LOGIN_CAPTCHA_ERROR
    // /** 登录验证码错误 **/
    // USER_LOGIN_CAPTCHA_ERROR("登录验证码错误"),
    /** 注册验证码错误(图片) **/
    USER_REGISTER_CAPTCHA_ERROR("注册验证码错误"),

    /** 短信验证码错误 **/
    USER_SMS_VALID_CODE_ERROR("短信验证码错误"),
    /** 邮箱验证码错误 **/
    USER_EMAIL_VALID_CODE_ERROR("邮箱验证码错误"),
    /** 短信验证码错误 **/
    USER_SMS_VALID_CODE_EXPIRED("短信验证码已失效"),
    /** 邮箱验证码错误 **/
    USER_EMAIL_VALID_CODE_EXPIRED("邮箱验证码已失效"),
    /** 登录验证码已失效 **/
    USER_LOGIN_VALID_CODE_EXPIRED("登录验证码已失效"),
    /** 注册验证码已失效 **/
    USER_REGISTER_VALID_CODE_EXPIRED("注册验证码已失效"),
    /** 找回密码的验证码已失效 **/
    USER_REPASSWORD_VALID_CODE_EXPIRED("找回密码的验证码已失效"),
    /** 更换手机的验证码已失效 **/
    CHANGE_PHONE_VALID_CODE_EXPIRED("更换手机的验证码已失效"),

    /** 原密码错误 **/
    OLD_PASSWORD_ERROR("原密码错误"),

    /** 用户名已经注册过 **/
    USER_HAS_REGISTER("用户名已经注册过"),
    /** 手机号码已经注册过 **/
    PHONE_HAS_REGISTER("手机号码已经注册过"),
    /** 邮箱已经注册过 **/
    EMAIL_HAS_REGISTER("邮箱已经注册过"),

    /** 手机号码未设置 **/
    PHONE_IS_UNSETTED("手机号码未设置"),
    /** 邮箱未设置 **/
    EMAIL_IS_UNSETTED("邮箱未设置"),

    /** 手机号格式不正确 **/
    PHONE_FORMAT_ERROR("手机号格式不正确"),
    /** 手机号码不能与原号码相同(更换手机号码) **/
    PHONE_CHANGE_CAN_NOT_EQUALS_OLD("新手机号码不能与原号码相同"),

    /** 邮箱格式不正确 **/
    EMAIL_FORMAT_ERROR("邮箱格式不正确"),
    /** 邮箱地址不能与原邮箱相同(更换邮箱) **/
    EMAIL_CHANGE_CAN_NOT_EQUALS_OLD("新邮箱地址不能与原邮箱相同"),

    /** 不允许锁定自己的账号 **/
    USER_CAN_NOT_LOCK_SELF("不允许锁定自己的账号"),
    /** 不允许锁定超级管理员 **/
    USER_CAN_NOT_LOCK_SUPERMAN("不允许锁定超级管理员"),

    /** 补全手机号码错误, 某些操作需要确定用户是否本人, 隐藏手机号码中间几位让用户补全 **/
    PHONE_PART_CODE_NOT_MATCHES("补全手机号码不正确"),
    /** 补全邮箱错误, 某些操作需要确定用户是否本人, 隐藏邮箱中间几位让用户补全 **/
    EMAIL_PART_CODE_NOT_MATCHES("补全邮箱不正确"),

    /** 支付密码错误 **/
    USER_PAYMENT_PASSWORD_ERROR("支付密码错误");

    /** 错误描述 **/
    private final String message;

    /**
     * 构造函数
     *
     * @param message 错误描述
     */
    private UserErrorCode(String message) {
        this.message = message;
    }

    /** {@inheritDoc} **/
    @Override
    public String getCode() {
        return this.name();
    }

    /** {@inheritDoc} **/
    @Override
    public String getMessage() {
        return message;
    }
}
